home *** CD-ROM | disk | FTP | other *** search
- SYSTEM VARIABLES (Pointers to memory locations)
- copyright (C) 1983 by E. E. Bergmann
- definitions in alphabetical(ASCII) order
- :
- ::
- *********************************************************
- * *
- * PISTOL-Portably Implemented Stack Oriented Language *
- * Version 2.0 *
- * (C) 1983 by Ernest E. Bergmann *
- * Physics, Building #16 *
- * Lehigh Univerisity *
- * Bethlehem, Pa. 18015 *
- * *
- * Permission is hereby granted for all reproduction and *
- * distribution of this material provided this notice is *
- * included. *
- * *
- *********************************************************
- :
- ::
- {unless specified otherwise, pointers are to RAM locations}
-
- #GET-ADDR Assigned the address of #GETLINE (which is
- later UNLINKed) which is defined in PISTOL to
- take the line number that is on top of stack,
- locate the line (in the edit buffer) and copy
- it into LINEBUF where it can be accessed
- subsequently by the PISTOL compiler.
-
- #LINES After PISTOL accepts input for compilation, the
- variable is reset to 0. As each line is output
- this variable is incremented and compared with
- the current value of TERMINAL-PAGE; if equal
- input from the user (typically a carriage
- return) is used to cause a pause in the output
- scrolling. At this point, any input character
- will cause #LINES to be reset to 0. If the
- input character is a 'Q', the current activity
- is ABORTed.
-
- (PISTOL<) Variable that contains pointer to most recent
- definition in the PISTOL< vocabulary branch;
- see PISTOL<, below.
-
- (UNLINKED<) Variable that contains pointer to most recent
- definition in the UNLINKED< vocabulary branch;
- see UNLINKED<, below.
-
-
-
- .C Used during compilation to point to where the
- next word token will be placed in the compile
- buffer.
-
- .D The "dictionary pointer"; Its value points to
- the next available word address at the end of
- the dictionary in RAM. It advances as a result
- of each new definition.
-
- .V --> (pointer to top of vocabulary stack)
- It is the vocabulary stack pointer.
-
- ABORT-PATCH Normally contains FALSE, but may be assigned
- the address of a routine that should be
- performed after a standard ABORT.
-
- BRANCH-LIST Each time a BRANCH definition is created it is
- added to the head of a threaded list of
- vocabulary branches. BRANCH-LIST points to the
- most recently defined branch.
-
- COLUMN Variable that contains the column number that
- the console is at during output. It is reset
- to 0 whenever a NEWLINE character is output.
- During output to the console if the value of
- COLUMN becomes equal to the value of
- TERMINAL-WIDTH then a new line is begun.
-
- COMPILE-END-PATCH
- Normally has the value of FALSE. It may be
- assigned the address of a proceedure to be
- invoked after every compilation, prior to
- the normal execution of the compile buffer.
- It is used, for example, in SHOWCODE, to cause
- the contents of the compile buffer to be
- displayed prior to execution.
-
- CONSOLE Boolean variable that will prevent output
- to the user's terminal if it is set to FALSE.
- Probably would be used in connection with
- writing lengthy output to the listfile when
- there is no desire to have this information
- presented to the user's console as well.
-
- CONVERT-PATCH Normally holds FALSE but may be patched with
- the address of a routine that would be invoked
- in the event the compiler cannot decipher the
- input token (cannot FIND it, cannot convert it
- into a numerical value, nor be able to
- recognize it as a quoted string). It has
- potential application to providing floating
- point number recognition and/or special number
- bases, e.g.: 0A000H or 0xA000.
-
- CURRENT Variable containing pointer to vocabulary
- branch into which the next word definition
- will be placed. Normally, this pointer points
- at the last definition.
-
- CURRENT-EOSTRINGS
- "current end of strings" points to the end of
- strings that have been created during the most
- recent compilation, which, generally have
- pointers to them on stack. The area in strings
- between OLD-EOSTRINGS and CURRENT-EOSTRINGS
- will be recycled during the next compilation
- because compilation starts by resetting the
- CURRENT-EOSTRINGS to the OLD-EOSTRINGS.
- Strings are made "permanent" by advancing the
- OLD-EOSTRINGS to the CURRENT-EOSTRINGS.
-
- ECHO Boolean variable which, when set TRUE, causes
- whatever PISTOL code that is being LOADed to be
- listed as it is being compiled.
-
- INPUTFILE-STATUS
- Contains the status of the file being input by
- the editor (opened by OPENR). If its value is
- 0, the file has just been opened. If positive,
- it is a count of the number of lines read so
- far. If -1, no file has been opened or: if
- negative, the number of lines read (magnetude)
- and the file is in an eof condition.
-
- INFILE Does not contain 0 when LOADing from a file
- or from the edit buffer. Contains pointer to
- original (temporary) filename string if
- inputing from a file. If input is from the
- edit buffer, its contents is the current line
- number. INFILE contains 0 [false] when
- interpreting from the console keyboard.
-
- LIST Boolean variable when true causes the system
- to output everything that would go to the
- user's console to the listfile as well. (see
- LISTFILE in i/o).
-
- NEXTCH^ Pointer to the next character in LINEBUF (in
- the strings area) that is to be compiled.
- This variable is used by the compiler but is
- potentially useful for routines that might be
- written in PISTOL to extend the compiler.
-
- OLD-EOSTRINGS Pointer-to-character variable that points to
- the first character location beyond the last
- "permanent" string. See the above discussion
- for CURRENT-EOSTRINGS.
-
- OLDLINE# Holds the number of the numbered line last
- located. Although primarily used to speed
- searching for successively numbered lines,
- it may prove useful to find out which numbered
- line was last found prior to the compiler
- quitting.
-
- OUTPUT-STATUS Indicates status of file for editor's output
- (file opened by OPENW). If value is +1, no
- file has been opened yet, or it has been
- logically closed. If the value is 0, the file
- has just been opened, but not yet used. If
- negative, it's magnetude is the count of the
- number of lines written to the file so far.
-
- PREVIOUS Variable that contains the address of the
- previous link to the definition last found
- by FIND or VFIND. It is used by UNLINK and
- RELINK to obtain the link to the item searched
- for.
-
- PROMPT-PATCH Patch location to place address of replacement
- procedure for standard prompt.
-
- RADIX Contains currentt number base used for i/o
- number conversions. For example, it is set to
- ten for DECIMAL mode.
-
- RADIX-INDICATOR Points to character that should indicate
- (during prompt) the current numerical
- conversion mode: 'H' for hexadecimal; 'X' for
- decimal; 'Q' for octal; and 'B' for binary.
-
- RAISE Boolean variable which causes system to convert
- all word tokens and single-quote strings to
- upper case.
-
- SYNTAXBASE Points to character count of character string
- that serves as the syntax check stack. The
- syntax stack can be displayed in the same
- manner as the prompt with:
- SYNTAXBASE MSG
-
- TAB-SIZE Normally set to 8. It determines the space
- between tab stops.
-
- TERMINAL-PAGE Determines number of lines output between
- scrolling pauses. See #LINES .
-
- TERMINAL-WIDTH Determines number of characters per line before
- automatic newlines. See COLUMN .
-
- TRACE-ADDR Patched with the address of the (TRACE) routine
- that is used during TRACE.
-
- TRACE-LEVEL If FALSE no TRACE action is performed. If
- positive, determines, level (depth of return
- stack) at which TRACE diagnostic information
- is displayed. This variable is manipulated by
- TRACE and by (TRACE). It should not be
- modified by the user directly.
-
- :
- or
- decim